Skip to content

Add generic zodb-convert support for all storage backends#38

Merged
jensens merged 1 commit into
mainfrom
feature/generic-zodb-convert-support
Mar 5, 2026
Merged

Add generic zodb-convert support for all storage backends#38
jensens merged 1 commit into
mainfrom
feature/generic-zodb-convert-support

Conversation

@jensens
Copy link
Copy Markdown
Member

@jensens jensens commented Feb 28, 2026

Summary

  • Generate storage-agnostic convert-import.conf and convert-export.conf for all non-filestorage backends (RelStorage, PGJsonb, ZEO) using the generic zodb-convert tool
  • Filestorage is always the portable format on the other side of the conversion
  • Keep existing relstorage-specific zodbconvert configs for backward compatibility
  • Deprecate RelStorage-specific configs in favor of the generic zodb-convert approach

Changes

  • Add tagmarker parameter to pgjsonb() and zeo() macros in db.conf (relstorage already had it)
  • Add 4 new db_convert_* settings to cookiecutter.json
  • Create convert-import.conf and convert-export.conf templates
  • Update post_gen_project.py for directory creation and file cleanup
  • Add migration how-to guide (docs/sources/how-to/migrate-storage.md)
  • Update storage-backends explanation and backend how-to guides with cross-references
  • Add deprecation notice to RelStorage docs

Test plan

  • All 37 tests pass (31 existing + 6 new)
  • Verify convert-import.conf renders correctly for pgjsonb, relstorage, zeo
  • Verify convert-export.conf renders correctly for pgjsonb, relstorage, zeo
  • Verify filestorage (direct) does NOT generate convert files
  • Verify Sphinx docs build without warnings

🤖 Generated with Claude Code

Generate storage-agnostic convert-import.conf and convert-export.conf
for all non-filestorage backends (RelStorage, PGJsonb, ZEO) using the
generic zodb-convert tool. Filestorage is always the portable format
on the other side of the conversion.

- Add tagmarker parameter to pgjsonb() and zeo() macros in db.conf
- Add db_convert_import/export_* settings to cookiecutter.json
- Create convert-import.conf and convert-export.conf templates
- Update post_gen_project.py for directory creation and file cleanup
- Deprecate RelStorage-specific zodbconvert configs in favor of zodb-convert
- Add migration how-to guide (docs/sources/how-to/migrate-storage.md)
- Update storage-backends explanation and backend how-to guides
- Keep existing relstorage-import/export.conf for backward compatibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jensens jensens merged commit b1efaab into main Mar 5, 2026
5 checks passed
@jensens jensens deleted the feature/generic-zodb-convert-support branch March 5, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant